﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace WFExtended.Twitter
{
    /// <summary>
    /// Configuration used by Twitter
    /// </summary>
    [DataContract]
    public class Configuration
    {
        /// <summary>
        /// Gets or sets the characters reserved per media.
        /// </summary>
        /// <value>
        /// The characters reserved per media.
        /// </value>
        [DataMember(Name = "characters_reserved_per_media")]
        public int CharactersReservedPerMedia { get; set; }

        /// <summary>
        /// Gets or sets the max media per upload.
        /// </summary>
        /// <value>
        /// The max media per upload.
        /// </value>
        [DataMember(Name = "max_media_per_upload")]
        public int MaxMediaPerUpload { get; set; }

        /// <summary>
        /// Gets or sets the non username paths.
        /// </summary>
        /// <value>
        /// The non username paths.
        /// </value>
        [DataMember(Name = "non_username_paths")]
        public List<string> NonUsernamePaths { get; set; }

        /// <summary>
        /// Gets or sets the photo size limit.
        /// </summary>
        /// <value>
        /// The photo size limit.
        /// </value>
        [DataMember(Name = "photo_size_limit")]
        public int PhotoSizeLimit { get; set; }

        /// <summary>
        /// Gets or sets the photo sizes.
        /// </summary>
        /// <value>
        /// The photo sizes.
        /// </value>
        [DataMember(Name = "photo_sizes")]
        public PhotoSizes PhotoSizes { get; set; }

        /// <summary>
        /// Gets or sets the short length of the URL.
        /// </summary>
        /// <value>
        /// The short length of the URL.
        /// </value>
        [DataMember(Name = "short_url_length")]
        public int ShortUrlLength { get; set; }

        /// <summary>
        /// Gets or sets the short URL length HTTPS.
        /// </summary>
        /// <value>
        /// The short URL length HTTPS.
        /// </value>
        [DataMember(Name = "short_url_length_https")]
        public int ShortUrlLengthHttps { get; set; }
    }
}
